<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Reference case for align-items / align-self behavior, using blocks in
     place of flex items and using float and width keywords to emulate the
     align-items / align-self properties. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Reftest Reference</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <style>
      .flexbox {
        border: 1px dashed blue;
        width: 200px;
        font-size: 10px;
      }

      div.big {
        font-size: 20px;
        width: 50px;
      }

      .flexbox > * {
        clear: both;
      }

      /* Classes for each of the various align-self values */
      .flex-start {
        background: lime;
        float: left;
      }
      .flex-end {
        background: orange;
        float: right;
      }
      .center {
        background: lightblue;
        margin: auto;
      }
      .baseline {
        background: teal;
        float: left;
      }
      .stretch {
        background: pink;
        width: 100%;
      }
      .auto {
        background: yellow;
        margin: auto;
      }
      .unspecified {
        background: lightgreen;
        margin: auto;
      }
      .initial {
        background: aqua;
        margin: auto;
      }
      .inherit {
        background: violet;
        float: right;
      }

      <!-- We center shrinkwrapped text by putting it into an inline-block, and
           then wrapping that inline-block in a helper-div that has
           "text-align:center" set. -->
      .centerParent {
        text-align: center;
      }
      .centerParent > * {
        display: inline-block;
        text-align: left; /* Keep parent's centering from tweaking my text */
      }
   </style>
  </head>
  <body>
    <div class="flexbox">
      <div class="flex-start">start</div>
      <div class="flex-start big">a b c d e f</div>
      <div class="flex-end">end</div>
      <div class="flex-end big">a b c d e f</div>
      <div class="centerParent">
        <div class="center">center</div>
      </div>
      <div class="center big">a b c d e f</div>
      <div class="baseline">base</div>
      <div class="baseline big">abc</div>
      <div class="stretch">stretch</div>
      <div class="stretch big">a b c d e f</div>
      <div class="centerParent">
        <div class="auto">auto</div>
      </div>
      <div class="centerParent">
        <div class="unspecified">unspec</div>
      </div>
      <div class="centerParent">
        <div class="initial">initial</div>
      </div>
      <div class="inherit">inherit</div>
      <!-- Since that last div is floated right, the container doesn't include
           its height by default. So we add some invisible hacky text (of the
           same font) to make sure our container is tall enough. -->
      <span style="visibility:hidden">hacky text</span>
    </div>
  </body>
</html>
